As digital signal processing techniques become more sophisticated, a wide range of advanced features are being included in imaging systems (e.g., still cameras, video cameras, or other imaging systems). For example, digital zoom, image stabilizers, automatic exposure, automatic white balance, and auto-focus are just a few examples of the many features now available to imaging systems. As the imaging systems improve, however, so do these available features.
Auto-focus, one of the features often included in imaging systems, generally operates by bringing an image into focus by adjusting the focal length, or “lens position” of the imaging system. An image is said to be “in-focus” when the sharpness of the image has been sufficiently optimized. At this point, the lens of the imaging system is considered to be at the “optimal” lens position. Traditionally, an auto-focusing system employs a particular algorithm to calculate this optimal lens position by estimating the sharpness of an image at several candidate lens positions. The lens is then moved (e.g., by a lens driver) to the lens position that produces the peak amount of sharpness for the image.
To estimate the sharpness of an image at a candidate lens position, the imaging system typically processes the image with a high-pass filter or a band-pass filter in order to analyze the high frequencies of that image (the high frequencies of an image are typically indicative of edge detail). The “sharpness score” of the candidate lens position can then be calculated by measuring the amount of accumulated, high frequency content in the filtered image signal. The candidate lens position that produces the highest sharpness score is then used as the optimal lens position.
This approach of estimating the sharpness of an image has several drawbacks and limitations, however. For example, sharpness scores are highly affected by the presence of noise. Accordingly, auto-focus system that estimate sharpness must also account for noise in image, typically by building large filters into the system. Such filters can result in, for example, an increased hardware gate count, an increase in size, and an overall increase in the complexity of an auto-focus system. As another example, sharpness scores are highly dependent upon the image content. As a result, thresholds must be used during various stages of the sharpness computations. These threshold are a function of the image content and also a function of the particular filter being used, thus preventing the creation of a general or universal technique for estimating sharpness scores that can be implemented in any imaging system. Furthermore, these thresholds are greatly affected by luminance levels. In fact, under certain luminance conditions, the auto-focus system may not even operate correctly. Thus, not only are auto-focus systems that estimate sharpness highly limited since they are not universal and must be separately tailored for each imaging system, but they also do not operate under all luminance conditions. Although the problem of luminance conditions can be lessened by recalculating thresholds on the fly, doing so would adversely lead to a substantial increase in hardware gate count and complexity of the system.